# 复杂类型分析：列表、元组、字典、类等
def complex_type():
    my_list1 = [1, 2, 3, 4, 5]
    print('my_list1->', id(my_list1), '->', my_list1)
    my_list2 = my_list1
    print('my_list2->', id(my_list2), '->', my_list2)
    my_list2.append(6)
    print('my_list1->', id(my_list1), '->', my_list1)  # my_list1改变
    print('my_list2->', id(my_list2), '->', my_list2)  # my_list2改变
    print('-------分割线-----------')
    my_list3 = [1, 2, 3, 4, 5]
    print('my_list3->', id(my_list3), '->', my_list3)
    my_list4 = my_list3.copy()
    print('my_list4->', id(my_list4), '->', my_list4)
    my_list4.append(6)
    print('my_list3->', id(my_list3), '->', my_list3)  # my_list3没有改变
    print('my_list4->', id(my_list4), '->', my_list4)  # my_list4改变
    print('-------分割线-----------')
    my_list5 = [1, 2, 3, 4, 5]
    print('my_list5->', id(my_list5), '->', my_list5)
    my_list6 = my_list5[ : ]
    print('my_list6->', id(my_list6), '->', my_list6)   # my_list5和my_list6指向的不是同一个地址


if __name__ == '__main__':
    complex_type()
